package dxf.entities;

import dxf.DXFPoint;

/**
 * Un oggetto della classe <code>Interasse</code> contiene le informazioni e i
 * metodi relativi al disegno degli interassi.
 * 
 * @author Andrea Zonca
 * @author Michele Brignoli
 * @version 2.0
 */

public class Interasse {
	
	// CAMPI
	private DXFPoint verticeUP;				// vertice superiore dell'interasse
	private DXFPoint verticeDOWN;			// vertice inferiore dell'interasse
	private Line retta;						// linea che congiunge i due vertici

	// COSTRUTTORE
	/**
	 * Costruisce un oggetto di tipo <code>Interasse</code> impostando i vertici
	 * e la linea che li congiunge.
	 * 
	 * @param x
	 *            l'ascissa dell'interasse.
	 * @param yU
	 *            l'ordinata del vertice superiore.
	 * @param yD
	 *            l'ordinata del vertice inferiore.
	 */
	public Interasse(double x, double yU, double yD) {
		this.verticeUP = new DXFPoint(x, yU);
		this.verticeDOWN = new DXFPoint(x, yD);
		this.retta = new Line(verticeUP, verticeDOWN);
	}

	// METODI
	/**
	 * Restituisce il vertice superiore di un interasse.
	 * 
	 * @return il vertice superiore.
	 */
	public DXFPoint getVerticeUp() {
		return this.verticeUP;
	}

	/**
	 * Restituisce il vertice inferiore di un interasse.
	 * 
	 * @return il vertice inferiore.
	 */
	public DXFPoint getVerticeDown() {
		return this.verticeDOWN;
	}

	/**
	 * Restituisce la linea che congiunge i due vertici.
	 * 
	 * @return l'interasse vero e proprio.
	 */
	public Line getRetta() {
		return this.retta;
	}

	/**
	 * Imposta il colore dell'interasse.
	 * 
	 * @param colorNumber
	 *            il codice del colore.
	 */
	public void setColore(int colorNumber) {
		this.retta.setColorNumber(colorNumber);
	}
}
